package com.ilink.groundservice.service.AiX;

import com.ilink.groundservice.entity.PO.AiX.AiXArea;
import com.ilink.groundservice.entity.VO.AiX.AiXAreaResponse;
import com.ilink.groundservice.entity.VO.AiX.AiXAreaSceneInfo;
import com.ilink.groundservice.entity.VO.AiX.UserPermissionResponse;
import com.ilink.ilinkapi.dto.ground.AiX.AiXAreaInsertRequset;
import com.ilink.ilinkapi.dto.ground.AiX.AiXAreaUpdateRequest;
import com.ilink.ilinkcommon.domain.R;
import com.ilink.ilinkcommon.domain.User;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * <h3>iLink-java-backend-zhangbo2</h3>
 *
 * @Description <p>专区方法定义</p>
 * @Author ZhangBo
 * @Date 2025-01-17 11:47
 **/
public interface AiXAreaService {
    UserPermissionResponse checkUserPermissions(Long sceneId, String userId);
    List<User> getAllSceneAuthors(Long areaId);
    List<AiXAreaSceneInfo> getSceneAuthorInfo(Long areaId);
    R getPhaseWorkScoreSum(String userId, Long areaId);
    R getAreaWorkScoreSort(Long areaId, Long num);
    R getAreaSignUpSort(Long areaId, Long num);
    R insertArea(AiXAreaInsertRequset requset);
    AiXAreaResponse getArea(Long areaId);
    R updateAreaBase(AiXAreaUpdateRequest request);
    R updateAreaCover(MultipartFile file, Long areaId);
    List<String> getAreaTags(Long areaId);
    List<AiXArea> getAreaList();
}
